Package-level declarations

Types

Link copied to clipboard
data class Branch<B, C>(val left: B? = null, val right: C? = null)

Return type to indicate that the action can return one of two types. Facilitates branching

Link copied to clipboard
open class BranchingAction<I, O1, O2>(val name: String, val description: String = name, val pre: List<String> = emptyList(), val post: List<String> = emptyList(), val cost: <Error class: unknown class> = 0.0, val value: <Error class: unknown class> = 0.0, val canRerun: Boolean = false, val qos: ActionQos = ActionQos(), inputClass: Class<I>, leftOutputClass: Class<O1>, rightOutputClass: Class<O2>, inputVarName: String = IoBinding.DEFAULT_BINDING, outputVarName: String? = IoBinding.DEFAULT_BINDING, referencedInputProperties: Set<String>? = null, val toolGroups: Set<ToolGroupRequirement>, block: Transformation<I, Branch<O1, O2>>) : AbstractAction

Action that declares one of two types of output. The code block must return a Branch object, which will be used to determine which output to use.

Link copied to clipboard
class ConsumerAction<I>(name: String, description: String = name, pre: List<String> = emptyList(), post: List<String> = emptyList(), cost: <Error class: unknown class> = 0.0, value: <Error class: unknown class> = 0.0, canRerun: Boolean = false, qos: ActionQos = ActionQos(), inputClass: Class<I>, outputVarName: String? = IoBinding.DEFAULT_BINDING, referencedInputProperties: Set<String>? = null, toolGroups: Set<ToolGroupRequirement>, block: Transformation<I, Unit>) : TransformationAction<I, Unit>

Action that has input preconditions, but produces no output

Link copied to clipboard
class MultiTransformationAction<O : Any>(val name: String, val description: String = name, val pre: List<String> = emptyList(), val post: List<String> = emptyList(), val cost: <Error class: unknown class> = 0.0, val value: <Error class: unknown class> = 0.0, val canRerun: Boolean = false, val qos: ActionQos = ActionQos(), val inputs: Set<IoBinding>, inputClasses: List<Class<*>>, outputClass: Class<O>, outputVarName: String? = IoBinding.DEFAULT_BINDING, referencedInputProperties: Set<String>? = null, val toolGroups: Set<ToolGroupRequirement>, block: Transformation<List<Any>, O>) : AbstractAction

Transformer that can take multiple inputs. The block takes a List.

Link copied to clipboard

Convenient interface a class can implement to publish @Tool functions automatically. Application domain objects can extend this. Intended for extension by both platform and application code.

Link copied to clipboard
Link copied to clipboard
class SupplierAction<O>(name: String, description: String = name, pre: List<String> = emptyList(), post: List<String> = emptyList(), cost: <Error class: unknown class> = 0.0, value: <Error class: unknown class> = 0.0, canRerun: Boolean = false, qos: ActionQos = ActionQos(), outputClass: Class<O>, outputVarName: String? = IoBinding.DEFAULT_BINDING, referencedInputProperties: Set<String>? = null, toolGroups: Set<ToolGroupRequirement>, block: Transformation<Unit, O>) : TransformationAction<Unit, O>

Action that has no input preconditions, but produces an output

Link copied to clipboard
open class TransformationAction<I, O>(val name: String, val description: String = name, val pre: List<String> = emptyList(), val post: List<String> = emptyList(), val cost: <Error class: unknown class> = 0.0, val value: <Error class: unknown class> = 0.0, val canRerun: Boolean = false, val qos: ActionQos = ActionQos(), inputClass: Class<I>, val outputClass: Class<O>, inputVarName: String = IoBinding.DEFAULT_BINDING, outputVarName: String? = IoBinding.DEFAULT_BINDING, referencedInputProperties: Set<String>? = null, val toolGroups: Set<ToolGroupRequirement>, block: Transformation<I, O>) : AbstractAction

Transformation action that runs custom code.

Functions

Link copied to clipboard
fun destructureAndBindIfNecessary(obj: Any, name: String, blackboard: Blackboard, logger: <Error class: unknown class>)

Bind the fields of this object to the Blackboard if it is an instance of SomeOf.

Link copied to clipboard
fun expandInputBindings(inputVarName: String, inputClass: Class<*>): Set<IoBinding>

Create input binding(s) for the given variable name and type. Allow for megazords (Aggregations) and decompose them into their individual fields.